<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Usuario
 *
 * @author Administrador
 */
class Usuario {

    private $id;
    private $nombre;
    private $apellidos;
    private $telefono;
    private $ciudad;
    private $mail;
    private $password;
    private $fecha;
    private $activo;
    private $codigo_activacion;
    private $admin;
    

    function Usuario($id="",$nombre="", $apellidos="", $telefono="", $ciudad="", $email="", $password="",$fecha="",$activo="",$codigo_activacion="",$admin="0") { //, $fecha="") {
        $this->id        = $id;
        $this->nombre    = $nombre;
        $this->apellidos = $apellidos;
        $this->telefono  = $telefono;
        $this->ciudad    = $ciudad;
        $this->mail      = $email;
        $this->password  = $password;
        $this->fecha     = $fecha;
        $this->activo    = $activo;
        $this->codigo_activacion = $codigo_activacion;
        $this->admin     = $admin;
        return $this;
    }

    public function getId(){
        return $this->id;
    }

    public function setId($id){
        $this->id = $id;
    }

    public function getNombre(){
        return $this->nombre;
    }

    public function setNombre($nombre){
        $this->nombre = $nombre;
    }

    public function getApellidos(){
        return $this->apellidos;
    }

    public function setApellidos($apellidos){
        $this->apellidos = $apellidos;
    }

    public function getTelefono(){
        return $this->telefono;
    }

    public function setTelefono($telefono){
        $this->telefono = $telefono;
    }

    public function getCiudad(){
        return $this->ciudad;
    }

    public function setCiudad($ciudad){
        $this->ciudad = $ciudad;
    }

    public function getMail(){
        return $this->mail;
    }

    public function setMail($email){
        $this->mail = $email;
    }

    public function getPassword(){
        return $this->password;
    }

    public function setPassword($password){
        $this->password = $password;
    }

    public function getFecha(){
        return $this->fecha;
    }

    public function setFecha($fecha){
        $this->fecha = $fecha;
    }
    
    public function getActivo() {
        return $this->activo;
    }

    public function setActivo($activo) {
        $this->activo = $activo;
    }
    
    public function getCodigo_activacion() {
        return $this->codigo_activacion;
    }

    public function setCodigo_activacion($codigo_activacion) {
        $this->codigo_activacion = $codigo_activacion;
    }
    
    public function getAdmin () {
        return $this->admin;
    }
  
    
    public function isAdmin() {
        if ($this->admin > 0) return true;
        else                  return false; 
    }

    public function setAdmin($admin) {
        $this->admin = $admin;
    }

    /*
     * @return: id del punto insertado, false si ha habido algun fallo.
     */
    public function insertIntoBBDD(){
        require_once 'class.DataBase.php';
        $bd = new DataBase();
        $sql = "INSERT INTO usuarios SET nombre='{$this->nombre}', apellidos='{$this->apellidos}', telefono='{$this->telefono}', ciudad='{$this->ciudad}', 
                                         mail='{$this->mail}', password='{$this->password}', activo='{$this->activo}', codigo_activacion='{$this->codigo_activacion}',admin='{$this->admin}'";
        //echo $sql;
        $result = $bd->query($sql); 
        if (!$result) return false;
        else          return mysql_insert_id();
    }

    /*
     * Recupera los valores de un punto de la bbdd, el objeto debe tener
     * la id puesta (en el constructor o mediante un setId() ).
     */

    public function getFromBBDDById(){
        require_once 'class.DataBase.php';
        $bd = new DataBase();
        $result = $bd->query("SELECT * FROM usuarios WHERE id='{$this->id}'");

        $r = mysql_fetch_array($result);

        $this->nombre    = $r['nombre'];
        $this->apellidos = $r['apellidos'];
        $this->telefono  = $r['comment'];
        $this->ciudad    = $r['ciudad'];
        $this->mail      = $r['mail'];
        $this->fecha     = $r['fecha'];
        $this->activo    = $r['activo'];
        $this->admin     = $r['admin'];
    }
    
    
    public function getFromBBDDByMail(){
        require_once 'class.DataBase.php';
        $bd = new DataBase();
        $sql = "SELECT * FROM usuarios WHERE mail='{$this->mail}'";
        //echo $sql."<br>";
        $result = $bd->query($sql);
        
        $r = mysql_fetch_array($result);

        $this->nombre    = $r['nombre'];
        $this->apellidos = $r['apellidos'];
        $this->telefono  = $r['comment'];
        $this->ciudad    = $r['ciudad'];
        $this->mail      = $r['mail'];
        $this->fecha     = $r['fecha'];
        $this->activo    = $r['activo'];
        $this->admin     = $r['admin'];
        
    }



    public function updateFromBBDD(){
        require_once 'class.DataBase.php';
        $bd = new DataBase();
        $result = $bd->query("UPDATE usuarios SET nombre='{$this->nombre}', apellidos='{$this->apellidos}', telefono='{$this->telefono}', 
                                                  ciudad='{$this->ciudad}', mail='{$this->mail}', fecha='".date("Y-m-d H:i:s")."', admin={$this->admin}");

        return $result;
    }


    public function deleteFromBBDD(){
        require_once 'class.DataBase.php';
        $bd = new DataBase();
        $result = $bd->query("DELETE FROM usuarios WHERE id='{$this->id}'");

        return $result;
    }
}
?>